export const ethanLibs = {
    version: '1.2.4',
    lastUpdateAt: new Date('2024/09/14'),
}

console.log(`ethanLibs. ${ethanLibs.version} ${ethanLibs.lastUpdateAt}`);

/*
- 1.2.4
add BindNodeActiveInHierarchy BindNodeEvent中的ACTIVE_IN_HIERARCHY_CHANGED无法监听父节点，不知道是不是3.7.4的bug，那么通过这个方法可以解决，做到真正监听节点的activeInHierarchy

- 1.2.3 
add BindNodeEvent 节点事件绑定
add addTo 订阅Subscription,可以绑定到父Subscription或者cc.Node

- 1.2.2
add LeanDynamicScrollView getContentPosByIdx / setContentPosByIdx 按照idx设置滑动列表的当前位置，使idx排在第一位，可自动避免首尾的不可行区域
add LifeAndLog 更轻量的rx封装，不需要basemanager或baseview或basepanel

- 1.2.1
add StringTools.js 原 string.js parseQueryString getValueInSearch

- 1.2.0
add qrcode 二维码生成
add crypto-js

- 1.1.9
upd dynamicScrollView headHeight 预留头部高度

- 1.1.8
upd dynamicScrollView firstIdx从第几个开始显示（已经测试过firstIdx小于FetchBatchCount的情况,比如3，FetchBatchCount为20）
upd dynamicScrollView halfViewHeight实时获取，解决scrollview节点的widget进行适配产生的问题

- 1.1.7
upd dynamicScrollView 通过获取的空数据列表来判断是否还有数据（例如每次取20个数据，而恰好总共只有40个数据，那么再取40~59的数据时会返回空列表，此时标记。之前就会可以无限下拉，无法正确设置列表总数量）
upd dynamicScrollView 封装了dataSourceChanged函数，供数据源变动后刷新使用
upd dynamicScrollView firstIdx特性，可以设置首个显示的idx，可以轻松实现比如前3名不显示在此列表中的情况（仍然可以从第一名开始拉取，不受影响）
upd 所有文件的换行符还原为macos格式 CRLF -> LF
add ResizeLengthOverMax 超过阈值时拉长（比如美术制作720x1600的图，但是有的机型更长，超过了这个比例，则需要针对这部分超长的设备进行拉伸）
upd ResizeToVisibleSize 增加了一个参数，可以选择在start还是onLoad时执行变换
add dateToStr / dateTo_ymd / dateTo_ymd2 几种日期格式化方法
upd Multiset.ts 完善 Multiset 的功能，增加了一些方法

- 1.1.6
add SkeletonPlay spine动画的基础Observable封装
add IntervalWithTween 带缓动的Interval, 非均匀的Interval

- 1.1.5
upd BindEditBox 增加text_changed

- 1.1.4
add ReactiveProperty whenFalseOnce 当false时继续
add BindNodeMouse 如果需要拿右键点击的话就可以使用

- 1.1.3
upd 升级 rxjs 到 7.8.1
fix BindDragAndClickNode/BindDragWithLimited 点击偏移并没有体现出来
upd BindDragWithLimited 支持变化的limit
add BindNodeTouchWithClick Touch事件做出的click

- 1.1.2
upd 整理代码,对比工程Game100原有的代码

- 1.1.1
add BindScrollView scroll-ended
add OptimizeScrollView deltaMove进入scrollView,外部可以使用,以获取当前的滚动速度

- 1.1.0
add dynamicScrollViewV2 dynamicScrollViewDataV2 (从HexWalk项目拷入,并针对cc3.x进行适配修改,并加入_isLast标记特性)

- 1.0.25
add PrefabNameToPanelKeyMap 在UIConfig的配置中,如果assetPanel中的prefab名字和窗体类名不同,那么需要手动定义className.适合于支持一个panelkey制作了多套表现的情况甚至多套代码类.

- 1.0.24
fix math.TWO_PI
add math.ts GenCircleRandomPos 在圆内均匀随机生成点

- 1.0.23 (2023/09/25)
del rxjs/internal/ajax

- 1.0.22
add AlignLocalPositionToInteger (menu) 快速对齐本节点及其所有子节点到四舍五入整数位置
add CocosTools.alignLocalPositionToIntegerRecursive

- 1.0.21
add RescaleToVisibleSize 调整scale填充屏幕
upd ResizeToVisibleSize exRate额外缩放比

- 1.0.20
add BindNode BindDragAndClickNode 拖动节点附带点击节点的Rx封装

- 1.0.19
add ReactiveSet again
add ReactiveSet subscribe 时会得到首次调用，行为类似于ReactiveProperty

- 1.0.18
add BasePanel StartProcess/CloseProcess 面板流程，将面板打开的持续时间封装为过程，可以通过rx启动面板，并观测其返回值

- 1.0.17
fix XlsxArrayTools.ts xlsxArrayToMapEx 单行的_subRect没有toIdx

- 1.0.16
upd toNumberList.ts 接受分号和冒号分隔符
add XlsxArrayTools.ts xlsxArrayToMapEx便于处理多行子数据对象 / xlsxArrayToMap 中undefined不再占用key
add Multiset.ts 补充更新几个函数，具有了size，遍历的能力（如同遍历一个真的set，几个相同的也会callback几次）

- 1.0.15
add date.ts DailyRefreshRemain 每日的多个固定点刷新，求剩余时间和刷新点

- 1.0.14
add MergeWithTimer Merge MergeASYNC MergeASAP版本

- 1.0.13
fix LeanDynamicScrollView traverseNeedShow中对于最终数量的判断，解决getDataCount变小后的会多显示一行的bug
add LeanDynamicScrollView dataSourceChanged 数据源改变之后调用这个，封装成一个函数了

- 1.0.12
upd BaseUIRoot openPanel/closePanel 返回类型定义
add deepclone utils/deepclone/deepclone

- 1.0.11
add ReactiveSet

- 1.0.10
upd BaseUIRoot openPanel和closePanel中的特定next标记，有助于提供panel生命周期流程的关键点
upd ReactiveString 注释
add AuxiliaryType.ts 辅助类型，ValueOf
add toNumberList.ts xlsx单元格中的逗号连字符形式处理为数字数组

- 1.0.9
add CircleVisualization 场景编辑器中作圆辅助线
add MSRToString_tm0_s

- 1.0.8
add AlighHelper 
upd utils/Component 归类

- 1.0.7
add resetSubscriptions 为独立添加到管理的Subscription提供

- 1.0.6
fix AssetManagerLoad.ts 根据引擎版本3.6.1进行类型修正

- 1.0.5
fix ScaleWidthToVisibleSize 宽度窄于设计分辨率时通过scale压缩节点大小,这里的‘窄于’并未在上个版本实现


- 1.0.4
add ScaleWidthToVisibleSize 宽度窄于设计分辨率时通过scale压缩节点大小,解决hud上出现的在小于设计分辨率宽度时元素出界问题
upd ResizeToVisibleSize 添加注释


- 1.0.3
add instantFunc
upd RxSelfClearanceArrayLoop 自放行循环首次需要调用一次next (因为如果首次next中就需要调用引用的_sub，就不能在定义时开始)
add date中定义MSR类型
add MSRToString_th_m_s MSRToString_tm_s,两种MSR转字符串的方式

 */